package v8

type Aggregate struct {
	funcName   string
	columnName string
	alias      string
}

func (a Aggregate) Select() {}

func (a Aggregate) As(alias string) Aggregate {
	return Aggregate{
		funcName:   a.funcName,
		columnName: a.columnName,
		alias:      alias,
	}
}

func Avg(c string) Aggregate {
	return Aggregate{
		funcName:   "AVG",
		columnName: c,
	}
}

func Max(c string) Aggregate {
	return Aggregate{
		funcName:   "MAX",
		columnName: c,
	}
}

func Min(c string) Aggregate {
	return Aggregate{
		funcName:   "MIN",
		columnName: c,
	}
}

func Count(c string) Aggregate {
	return Aggregate{
		funcName:   "COUNT",
		columnName: c,
	}
}

func Sum(c string) Aggregate {
	return Aggregate{
		funcName:   "SUM",
		columnName: c,
	}
}
